package com.webapp.common.enums;

import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;

import java.util.Arrays;

@JsonFormat(shape = JsonFormat.Shape.OBJECT)
@Getter
public enum Company_code {
    SHANG_HAI(101,"太平人寿保险有限公司上海分公司"),
    SHEN_ZHEN(112,"太平人寿保险有限公司深圳分公司"),
    ZHE_JIANG(109,"太平人寿保险有限公司浙江分公司"),
    JIANG_SU(107,"太平人寿保险有限公司江苏分公司"),
    GUANG_DONG(103,"太平人寿保险有限公司广东分公司"),
    HU_BEI(118,"太平人寿保险有限公司湖北分公司"),
    HE_BEI(105,"太平人寿保险有限公司河北分公司"),
    BEI_JIN(102,"太平人寿保险有限公司北京分公司"),
    SU_ZHOU(116,"太平人寿保险有限公司苏州分公司"),
    SI_CHUAN(104,"太平人寿保险有限公司四川分公司"),
    FU_JIAN(120,"太平人寿保险有限公司福建分公司"),
    JIANG_XI(122,"太平人寿保险有限公司江西分公司"),
    SHAN1_XI(127,"太平人寿保险有限公司山西分公司"),
    LIAO_NING(110,"太平人寿保险有限公司辽宁分公司"),
    HE_NAN(106,"太平人寿保险有限公司河南分公司"),
    TIAN_JIN(117,"太平人寿保险有限公司天津分公司"),
    HEI_LONG_JIANG(121,"太平人寿保险有限公司黑龙江分公司"),
    GUANG_XI(130,"太平人寿保险有限公司广西分公司"),
    CHONG_QIN(124,"太平人寿保险有限公司重庆分公司"),
    HU_NAN(125,"太平人寿保险有限公司湖南分公司"),
    SHAN_DONG(108,"太平人寿保险有限公司山东分公司"),
    AN_HUI(119,"太平人寿保险有限公司安徽分公司"),
    FU_SHAN(10301,"太平人寿保险有限公司佛山分公司"),
    NEI_MENG_GU(134,"太平人寿保险有限公司内蒙古分公司"),
    QIN_DAO(113,"太平人寿保险有限公司青岛分公司"),
    GAN_SU(133,"太平人寿保险有限公司甘肃分公司"),
    JI_LIN(129,"太平人寿保险有限公司吉林分公司"),
    DA_LIAN(114,"太平人寿保险有限公司大连分公司"),
    YUN_NAN(128,"太平人寿保险有限公司云南分公司"),
    SHAN3_XI(126,"太平人寿保险有限公司陕西分公司"),
    XIA_MEN(123,"太平人寿保险有限公司厦门分公司"),
    GUI_ZHOU(132,"太平人寿保险有限公司贵州分公司"),
    XIN_JIANG(131,"太平人寿保险有限公司新疆分公司"),
    HAI_NAN(135,"太平人寿保险有限公司海南分公司"),
    NING_BO(111,"太平人寿保险有限公司宁波分公司"),
    QIN_HAI(136,"太平人寿保险有限公司青海分公司"),
    NING_XIA(138,"太平人寿保险有限公司宁夏分公司");


    @EnumValue
    private int code;

    private String value;

    Company_code(int code, String value) {
        this.value = value;
        this.code = code;
    }



    @JsonCreator
    public static Company_code getItem(int code) {
        return Arrays.stream(Company_code.values())
                .filter(i -> i.getCode() == code)
                .findAny().orElse(null);
    }
}
